Memory systems may include storage locations that store data unreliably due to defects that occur during the manufacturing process. One way to deal with the unreliable storage locations and improve yield is to configure the memory with extra replacement storage locations. In addition, memory systems may encode and decode data with parity bits that provide redundancy and error correction capability for the data when read from the memory. Leveraging the unreliable storage locations and extra replacement storage locations for encoding and decoding of the data in order to improve decoding performance metrics may be desirable.